/*==========================================================
    模块名 ：	RtspStreamDemo
	文件名 ：	pub_defs.h
	相关文件：  
	实现功能：  模块公共使用相关定义
	 作者 ：范瑞彪
	版 权 ： <Copyright(C) 2023-2027 Suzhou Keda Technology Co., Ltd. 
	All rights reserved.> 
	------------------------------------------------------------------------------------------------------- 
	修改记录：
	日 期 版本 修改人 走读人 修改记录
	1998/09/15 V1.0 某某（中文） 某某（中文） 记录关键内容
==========================================================*/
#ifndef RTSPSTREAMDEMO_PUB_DEFS_H
#define RTSPSTREAMDEMO_PUB_DEFS_H

#include <pthread.h>

//调试打印开关
#define __DEBUG
#ifdef __DEBUG
#define TRACE_DEBUG(format, ...) printf("["__FILE__"][Line: %d][%s]: "format"\n", __LINE__, __func__, ##__VA_ARGS__)
#else
#define TRACE_DEBUG(format, ...)
#endif

// IPV4 地址缓冲区长度
#define IPV4_BUF_LEN    (100)
// 接收数据缓冲区大小
#define BUFFER_SIZE     (1024)
// POST请求参数缓冲区大小
#define POST_PARAM_VAL_BUF_LEN     (64)

// 互斥锁相关定义
typedef pthread_mutex_t Mutex;
typedef Mutex* PMutex;

#define MUTEX_INIT(x) do{if(NULL != (x))pthread_mutex_init(x,NULL)}                    // 初始化互斥锁
#define MUTEX_DESTORY(x) do{if(NULL != (x))pthread_mutex_destory(x)}                   // 销毁互斥锁
#define MUTEX_LOCK(x) do{if(NULL != (x))pthread_mutex_lock((x))};       // 加锁
#define MUTEX_UNLOCK(x) do{if(NULL != (x))pthread_mutex_unlock((x))};   // 解锁

#endif //RTSPSTREAMDEMO_PUB_DEFS_H